home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / hplip / makeuri.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2009-10-28  |  5KB  |  120 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. __version__ = '5.0'
  5. __title__ = 'Device URI Creation Utility'
  6. __mod__ = 'hp-makeuri'
  7. __doc__ = 'Creates device URIs for local and network connected printers for use with CUPS.'
  8. import sys
  9. import re
  10. import getopt
  11. import os
  12. from base.g import *
  13. from base.codes import *
  14. from base import device, utils, module
  15. USAGE = [
  16.     (__doc__, '', 'name', True),
  17.     ('Usage: %s [OPTIONS] [SERIAL NO.|USB ID|IP|DEVNODE]' % __mod__, '', 'summary', True),
  18.     ('[SERIAL NO.|USB ID|IP|DEVNODE]', '', 'heading', False),
  19.     ('USB IDs (usb only):', '"xxx:yyy" where xxx is the USB bus ID and yyy is the USB device ID. The \':\' and all leading zeroes must be present.', 'option', False),
  20.     ('', "(Use the 'lsusb' command to obtain this information. See Note 1.)", 'option', False),
  21.     ('IPs (network only):', 'IPv4 address "a.b.c.d" or "hostname"', 'option', False),
  22.     ('DEVNODE (parallel only):', '"/dev/parportX", X=0,1,2,...', 'option', False),
  23.     ('SERIAL NO. (usb and parallel only):', '"serial no."', 'option', True),
  24.     utils.USAGE_OPTIONS,
  25.     ('To specify the port on a multi-port JetDirect:', '-p<port> or --port=<port> (Valid values are 1\\*, 2, and 3. \\*default)', 'option', False),
  26.     ('Show the CUPS URI only (quiet mode):', '-c or --cups', 'option', False),
  27.     ('Show the SANE URI only (quiet mode):', '-s or --sane', 'option', False),
  28.     ('Show the HP Fax URI only (quiet mode):', '-f or --fax', 'option', False),
  29.     utils.USAGE_LOGGING1,
  30.     utils.USAGE_LOGGING2,
  31.     utils.USAGE_LOGGING3,
  32.     utils.USAGE_HELP,
  33.     utils.USAGE_EXAMPLES,
  34.     ('USB:', '$ hp-makeuri 001:002', 'example', False),
  35.     ('Network:', '$ hp-makeuri 66.35.250.209', 'example', False),
  36.     ('Parallel:', '$ hp-makeuri /dev/parport0', 'example', False),
  37.     ('USB or parallel (using serial number):', '$ hp-makeuri US123456789', 'example', False),
  38.     utils.USAGE_SPACE,
  39.     utils.USAGE_NOTES,
  40.     ("1. Example using 'lsusb' to obtain USB bus ID and USB device ID (example only, the values you obtain will differ) :", '', 'note', False),
  41.     ('   $ lsusb', '', 'note', False),
  42.     ('   Bus 003 Device 011: ID 03f0:c202 Hewlett-Packard', '', 'note', False),
  43.     ('   $ hp-makeuri 003:011', '', 'note', False),
  44.     ("   (Note: You may have to run 'lsusb' from /sbin or another location. Use '$ locate lsusb' to determine this.)", '', 'note', True),
  45.     utils.USAGE_SPACE,
  46.     utils.USAGE_SEEALSO,
  47.     ('hp-setup', '', 'seealso', False)]
  48. mod = module.Module(__mod__, __title__, __version__, __doc__, USAGE, (INTERACTIVE_MODE,), None, True, True)
  49. (opts, device_uri, printer_name, mode, ui_toolkit, lang) = mod.parseStdOpts('p:csf', [
  50.     'port',
  51.     'cups',
  52.     'sane',
  53.     'fax'], handle_device_printer = False)
  54.  
  55. try:
  56.     cups_quiet_mode = False
  57.     sane_quiet_mode = False
  58.     fax_quiet_mode = False
  59.     jd_port = 1
  60.     for o, a in opts:
  61.         if o in ('-c', '--cups'):
  62.             cups_quiet_mode = True
  63.             continue
  64.         if o in ('-s', '--sane'):
  65.             sane_quiet_mode = True
  66.             continue
  67.         None if o in ('-f', '--fax') else None<EXCEPTION MATCH>ValueError
  68.         if o == '-g':
  69.             log.set_level('debug')
  70.             continue
  71.     
  72.     if not cups_quiet_mode and sane_quiet_mode:
  73.         pass
  74.     quiet_mode = fax_quiet_mode
  75.     mod.quiet = quiet_mode
  76.     mod.showTitle()
  77.     if len(mod.args) != 1:
  78.         mod.usage(error_msg = [
  79.             'You must specify one SERIAL NO., IP, USB ID or DEVNODE parameter.'])
  80.     
  81.     param = mod.args[0]
  82.     if 'localhost' in param.lower():
  83.         mod.usage(error_msg = [
  84.             'Invalid hostname'])
  85.     
  86.     (cups_uri, sane_uri, fax_uri) = device.makeURI(param, jd_port)
  87.     if not cups_uri:
  88.         log.error('Device not found')
  89.         sys.exit(1)
  90.     
  91.     if cups_quiet_mode:
  92.         print cups_uri
  93.     elif not quiet_mode:
  94.         print 'CUPS URI: %s' % cups_uri
  95.     
  96.     if sane_uri:
  97.         if sane_quiet_mode:
  98.             print sane_uri
  99.         elif not quiet_mode:
  100.             print 'SANE URI: %s' % sane_uri
  101.         
  102.     elif not sane_uri and sane_quiet_mode:
  103.         log.error('Device does not support scan.')
  104.     
  105.     if fax_uri:
  106.         if fax_quiet_mode:
  107.             print fax_uri
  108.         elif not quiet_mode:
  109.             print 'HP Fax URI: %s' % fax_uri
  110.         
  111.     elif not fax_uri and fax_quiet_mode:
  112.         log.error('Device does not support fax.')
  113. except KeyboardInterrupt:
  114.     log.error('User exit')
  115.  
  116. if not quiet_mode:
  117.     log.info('')
  118.     log.info('Done.')
  119.  
  120.